Время шло, CI/CD тулзы менялись, количество проектов, сред и мест хранения ключей множились, уровень беспокойства о том, что какой-нибудь ключ где-нибудь устарел все повышалось. Ну хватит уже… Можно я просто в репозитории ключи оставлю? Оказывается, да, можно. И это на порядок удобнее всего что я делал раньше.
Пропустим душераздирающую историю о том, с какими проблемами все мы сталкиваемся когда дело касается всяких секреток в проектах и перейдем сразу к делу.
Цели
- Не хочу беспокоиться о том, все ли конфиги в порядке перед отправкой кода в продакшен/стейджинг
- Не хочу думать о том, какие конфиги дать новому разработчику, только что присоединившемуся к проекту
- Хочу чтобы все CI системы запускались без танцев с бубном, так же просто как на локальной машине
- Хочу чтобы ключи соответствовали версии кода.
Решение
Создаем два баш скрипта: encrypt.sh
и decrypt.sh
.
encrypt.sh
выглядит так:
#!/bin/bash # sh encrypt.sh <./path/to/file.js> <environment> <password>